﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum МетодыПереоценкиОС
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"02358940-cc18-4f9b-aa5d-45064c6f1de4\", \"Представление\":\"ПропорциональнаяПереоценкаНакопленнойАмортизации\"}")]
		ПропорциональнаяПереоценкаНакопленнойАмортизации = 0,//Пропорциональная переоценка накопленной амортизации
		[EnumMember(Value = "{\"Ссылка\":\"d27df5d1-3f2a-4c66-8e8e-85c7a042c62f\", \"Представление\":\"СписаниеАмортизацииПриПереоценки\"}")]
		СписаниеАмортизацииПриПереоценки = 1,//Списание амортизации при переоценке
	}
	public static partial class МетодыПереоценкиОС_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПропорциональнаяПереоценкаНакопленнойАмортизации = new Guid("06455daa-6f4c-e41d-4f9b-cc1802358940");//Пропорциональная переоценка накопленной амортизации
		public static readonly Guid СписаниеАмортизацииПриПереоценки = new Guid("c7858e8e-42a0-2fc6-4c66-3f2ad27df5d1");//Списание амортизации при переоценке
		public static МетодыПереоценкиОС Получить(this МетодыПереоценкиОС Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static МетодыПереоценкиОС Получить(this МетодыПереоценкиОС Значение, Guid Ссылка)
		{
			if(Ссылка == ПропорциональнаяПереоценкаНакопленнойАмортизации)
			{
				return МетодыПереоценкиОС.ПропорциональнаяПереоценкаНакопленнойАмортизации;
			}
			else if(Ссылка == СписаниеАмортизацииПриПереоценки)
			{
				return МетодыПереоценкиОС.СписаниеАмортизацииПриПереоценки;
			}
			return МетодыПереоценкиОС.ПустаяСсылка;
		}
		public static byte[] Ключ(this МетодыПереоценкиОС Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this МетодыПереоценкиОС Значение)
		{
			switch (Значение)
			{
				case МетодыПереоценкиОС.ПропорциональнаяПереоценкаНакопленнойАмортизации: return ПропорциональнаяПереоценкаНакопленнойАмортизации;
				case МетодыПереоценкиОС.СписаниеАмортизацииПриПереоценки: return СписаниеАмортизацииПриПереоценки;
			}
			return Guid.Empty;
		}
	}
}